export enum TbMsgType {
  POST_ATTRIBUTES_REQUEST = 'POST_ATTRIBUTES_REQUEST',
  POST_TELEMETRY_REQUEST = 'POST_TELEMETRY_REQUEST',
  TO_SERVER_RPC_REQUEST = 'TO_SERVER_RPC_REQUEST',
  RPC_CALL_FROM_SERVER_TO_DEVICE = 'RPC_CALL_FROM_SERVER_TO_DEVICE',
  RPC_QUEUED = 'RPC_QUEUED',
  RPC_SENT = 'RPC_SENT',
  RPC_DELIVERED = 'RPC_DELIVERED',
  RPC_SUCCESSFUL = 'RPC_SUCCESSFUL',
  RPC_TIMEOUT = 'RPC_TIMEOUT',
  RPC_EXPIRED = 'RPC_EXPIRED',
  RPC_FAILED = 'RPC_FAILED',
  RPC_DELETED = 'RPC_DELETED',
  ACTIVITY_EVENT = 'ACTIVITY_EVENT',
  INACTIVITY_EVENT = 'INACTIVITY_EVENT',
  CONNECT_EVENT = 'CONNECT_EVENT',
  DISCONNECT_EVENT = 'DISCONNECT_EVENT',
  ENTITY_CREATED = 'ENTITY_CREATED',
  ENTITY_UPDATED = 'ENTITY_UPDATED',
  ENTITY_DELETED = 'ENTITY_DELETED',
  ENTITY_ASSIGNED = 'ENTITY_ASSIGNED',
  ENTITY_UNASSIGNED = 'ENTITY_UNASSIGNED',
  ATTRIBUTES_UPDATED = 'ATTRIBUTES_UPDATED',
  ATTRIBUTES_DELETED = 'ATTRIBUTES_DELETED',
  ALARM_ACK = 'ALARM_ACK',
  ALARM_CLEAR = 'ALARM_CLEAR',
  ALARM_ASSIGNED = 'ALARM_ASSIGNED',
  ALARM_UNASSIGNED = 'ALARM_UNASSIGNED',
  COMMENT_CREATED = 'COMMENT_CREATED',
  COMMENT_UPDATED = 'COMMENT_UPDATED',
  ENTITY_ASSIGNED_FROM_TENANT = 'ENTITY_ASSIGNED_FROM_TENANT',
  ENTITY_ASSIGNED_TO_TENANT = 'ENTITY_ASSIGNED_TO_TENANT',
  TIMESERIES_UPDATED = 'TIMESERIES_UPDATED',
  TIMESERIES_DELETED = 'TIMESERIES_DELETED',
}

export const TB_MSG_TYPE_OPTIONS = [
  { value: TbMsgType.POST_ATTRIBUTES_REQUEST, label: 'Post attributes' },
  { value: TbMsgType.POST_TELEMETRY_REQUEST, label: 'Post telemetry' },
  { value: TbMsgType.TO_SERVER_RPC_REQUEST, label: 'RPC Request from Device' },
  { value: TbMsgType.RPC_CALL_FROM_SERVER_TO_DEVICE, label: 'RPC Request to Device' },
  { value: TbMsgType.RPC_QUEUED, label: 'RPC Queued' },
  { value: TbMsgType.RPC_SENT, label: 'RPC Sent' },
  { value: TbMsgType.RPC_DELIVERED, label: 'RPC Delivered' },
  { value: TbMsgType.RPC_SUCCESSFUL, label: 'RPC Successful' },
  { value: TbMsgType.RPC_TIMEOUT, label: 'RPC Timeout' },
  { value: TbMsgType.RPC_EXPIRED, label: 'RPC Expired' },
  { value: TbMsgType.RPC_FAILED, label: 'RPC Failed' },
  { value: TbMsgType.RPC_DELETED, label: 'RPC Deleted' },
  { value: TbMsgType.ACTIVITY_EVENT, label: 'Activity Event' },
  { value: TbMsgType.INACTIVITY_EVENT, label: 'Inactivity Event' },
  { value: TbMsgType.CONNECT_EVENT, label: 'Connect Event' },
  { value: TbMsgType.DISCONNECT_EVENT, label: 'Disconnect Event' },
  { value: TbMsgType.ENTITY_CREATED, label: 'Entity Created' },
  { value: TbMsgType.ENTITY_UPDATED, label: 'Entity Updated' },
  { value: TbMsgType.ENTITY_DELETED, label: 'Entity Deleted' },
  { value: TbMsgType.ENTITY_ASSIGNED, label: 'Entity Assigned' },
  { value: TbMsgType.ENTITY_UNASSIGNED, label: 'Entity Unassigned' },
  { value: TbMsgType.ATTRIBUTES_UPDATED, label: 'Attributes Updated' },
  { value: TbMsgType.ATTRIBUTES_DELETED, label: 'Attributes Deleted' },
  { value: TbMsgType.ALARM_ACK, label: 'Alarm Acknowledged' },
  { value: TbMsgType.ALARM_CLEAR, label: 'Alarm Cleared' },
  { value: TbMsgType.ALARM_ASSIGNED, label: 'Alarm Assigned' },
  { value: TbMsgType.ALARM_UNASSIGNED, label: 'Alarm Unassigned' },
  { value: TbMsgType.COMMENT_CREATED, label: 'Comment Created' },
  { value: TbMsgType.COMMENT_UPDATED, label: 'Comment Updated' },
  { value: TbMsgType.ENTITY_ASSIGNED_FROM_TENANT, label: 'Entity Assigned From Tenant' },
  { value: TbMsgType.ENTITY_ASSIGNED_TO_TENANT, label: 'Entity Assigned To Tenant' },
  { value: TbMsgType.TIMESERIES_UPDATED, label: 'Timeseries Updated' },
  { value: TbMsgType.TIMESERIES_DELETED, label: 'Timeseries Deleted' },
];
